/*
class User{
    constructor (name , email){
        this.name=name;// 属性
        this.email=email;// 属性
    }

    createProfile(){
        console.log(`${this.name}创建个人资料`);//方法
    }

    logOut(){
        console.log(`${this.name}已登出`);//方法
    }
}

// 创建 User 类的实例
const user1 = new User("Alice", "alice@example.com");
const user2 = new User("Bob", "bob@example.com");
const user3 = new User("Charlie", "charlie@example.com");

// 调⽤实例的⽅法
user1.createProfile(); // 输出: Alice已创建个⼈资料。
user2.logOut(); // 输出: Bob已登出。

user1.createProfile(); // 调⽤ user1 实例上的 createProfile ⽅法
user2.logOut(); // 调⽤ user2 实例上的 logOut ⽅法
*/

/*
class Circle {
    #radius; // 使⽤新 `#` 语法的私有属性
    constructor(radius) {
    this.#radius = radius; // 封装属性
    }

    getRadius(){
        return this.#radius;
    }

    get area() {
    return Math.PI * this.#radius * this.#radius; // 通过 getter 访问⾯积
    }
    }

    const circle = new Circle(5);
    console.log(circle.area); // 使⽤ getter 访问⾯积
    console.log(circle.getRadius);
    */

    /*
    class User {
        constructor(name) {
        this.name = name;
        }
        sayHello() {
        console.log(`你好，我叫${this.name}。`);
        }
        }
        class Admin extends User {
        deleteUser(user) {
        console.log(`${user.name}已被删除。`);
        }
        }
        const admin = new Admin("Alice");
        admin.sayHello(); // 输出：你好，我叫Alice。
        admin.deleteUser({ name: "Bob" }); // 输出：Bob已被删除。
        */

/*
        class User {
            sayHello() {
                console.log("你好，我是⽤户。");
                    }
        }
        class Admin extends User {
            sayHello() {
                console.log("你好，我是管理员。");
            }
        }
        class Guest extends User {
            sayHello() {
                console.log("你好，我是访客。");
            }
        }
        const user = new User();
        const admin = new Admin();
        const guest = new Guest();
        user.sayHello(); // 输出：你好，我是⽤户。
        admin.sayHello(); // 输出：你好，我是管理员。
        guest.sayHello(); // 输出：你好，我是访客。
*/

/*
const rectangle = {
    name: "矩形 1",
    width: 10,
    height: 20,
};

console.log(rectangle.name); // 输出：矩形 1

const rectangle1 = {
    name: "矩形 1",
    width: 20,
    height: 30,
    area: function () {
    return this.width * this.height;
    },
};
console.log(rectangle1.area()); // 输出

rectangle1.width = 15;
console.log(rectangle1.area()); // 输出：300
*/

console.log(this); // 输出：Window 对象
function run() {
console.log(this); // 输出：Window 对象
}
run();

const rectangle = {
    name: "矩形 1",
    width: 10,
    height: 20,
    area: function () {
    return this.width * this.height;
    },
};
console.log(rectangle.area()); // 输出：200

const rectangle1 = {
    name: "矩形 1",
    width: 10,
    height: 20,
    area: function () {
    return this.width * this.height;
    },
};
    
const rectangle2 = {
    name: "矩形 2",
    width: 30,
    height: 40,
    area: function () {
    return this.width * this.height;
    },
};
console.log(rectangle1.area()); // 输出：200
console.log(rectangle2.area()); // 输出: 1200